# Fetching a list of Participations

The Participations index action only returns participations from projects that are visible to the requester.
See the [Projects KB documentation](https://mavenlink.zendesk.com/hc/en-us/sections/200022139-Projects) for more information about how visibility restrictions work.
This endpoint returns structured Participation objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the `results` array
and will be indexed by ID in the `participations` top-level JSON key.
Please see our [Response Format](#section/Response-Format) section for more information.

Endpoint: GET /participations
Version: 1.0.0

## Query parameters:

  - `workspace_id` (integer, required)
    This parameter is required to identify the project you want to retrieve participations for.

  - `by_user` (integer)
    Retrieves participations for the specified user ID.

  - `by_user_full_name` (string)
    Matches against users' full names.

  - `created_after` (string)
    Filter for records created after a specified datetime. The datetime must be in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.

  - `created_before` (string)
    Filter for records created before a specified datetime. The datetime must be in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.

  - `external_reference_external_message` (string)
    Filter the objects based on the external message of their associated external references. This is an exact match.

  - `external_reference_external_status` (string)
    Filter by the status of the external object in the external system.

  - `external_reference_service_model` (string)
    Filter by the type of the external object this external reference belongs to.

  - `external_reference_service_model_ref` (integer)
    Filter by the id of the external object this external reference belongs to.

  - `external_reference_service_model_refs` (string)
    Filter for objects that correlate to the specified external object IDs. Provide a comma-separated list of up to 200 external IDs.

  - `external_reference_service_name` (string)
    Filter by the name of the provider for integration.

  - `external_reference_status` (string)
    Filter by the status of the integration, this can be successful or fail.

  - `has_external_references` (boolean)
    Filter by whether or not the object has external references.

  - `include` (string)
    Any of the below associations can be included in your request by providing the `include` param, e.g. `include=association1,association2`.
- `active_roles` (Role) - Retrieves all of the project roles of the participant. The response will include `active_role_ids`, which references the data in the `roles` top-level key.
- `external_references` (ExternalReference) - Includes references to external integrations for this object.
- `primary_role` (Role) - Retrieves account role of the participant. Only visible when the authenticated user is on the same account the project is on. The response will include `primary_role_id`, which references the data in the `roles` top-level key.
- `user` (User) - Retrieves the user (also known as the participant). The response will include `user_id`, which references the data in the `users` top-level key.
- `workspace` (Workspace) - Retrieves the project. The response will include `workspace_id`, which references the data in the `workspaces` top-level key.
- `workspace_resources` (WorkspaceResource) - Retrieves the resource(s) associated with the participation, ordered alphabetically. The response will include `workspace_resource_ids`, which references the data in the `workspace_resources` top-level key.
- `workspace_role` (Role) - Retrieves the primary project role for the participant. The response will include `workspace_role_id`, which references the data in the `roles` top-level key.

  - `mavens_only` (boolean)
    Only consultant participations.

  - `not_assigned_to_story` (integer)
    Not assigned to the specified story ID.

  - `not_following_story` (integer)
    Not following the specified story ID.

  - `only` (string)
    Allows you to request one or more resources directly by ID. Multiple IDs can be supplied
in a comma separated list, like `GET /api/v1/workspaces.json?only=5,6,7`.

  - `optional_fields` (array)
    Allows you to request one or more optional fields as an array.

  - `order` (string)
    Supply `order` with the name of a valid sort field for the endpoint and a direction.

Valid values: `updated_at:asc`, `updated_at:desc`, `user_name:asc`, and `user_name:desc`.

  - `page` (integer)

  - `per_page` (integer)

  - `updated_after` (string)
    Filter for records updated after a specified datetime. The datetime must be in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.

  - `updated_before` (string)
    Filter for records updated before a specified datetime. The datetime must be in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.

  - `without_external_reference_service_name` (string)
    Exclude by the existence of an external reference with the specified service name.

## Response 200:

  - `200` (unknown)
    A list of Participations have been retrieved.

## Response 200 fields (application/json):

  - `count` (integer)

  - `meta` (object)

  - `meta.count` (integer)

  - `meta.page_count` (integer)

  - `meta.page_number` (integer)

  - `meta.page_size` (integer)

  - `results` (array)

  - `results.key` (string)

  - `results.id` (string)

  - `participations` (object)

  - `external_references` (object)

  - `users` (object)

  - `workspaces` (object)

  - `roles` (object)

  - `workspace_resources` (object)

## Response 400:

  - `400` (unknown)
    Bad Request

## Response 400 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 401:

  - `401` (unknown)
    Unauthorized request

## Response 401 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 403:

  - `403` (unknown)
    Forbidden request

## Response 403 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 404:

  - `404` (unknown)
    Page Not Found

## Response 404 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 422:

  - `422` (unknown)
    Unprocessable Entity

## Response 422 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 503:

  - `503` (unknown)
    Service is unavailable

## Response 503 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

